/**
 * Created by Administrator on 2016/6/28.
 */
//这个对象是用来查询和发表文章的
    //引入连接数据库的文件
var mongodb=require('./db');
//创建这个post类
function Post(name,title,post,ip){
    this.name=name;
    this.title=title;
    this.post=post;
    this.ip=ip;
}
//发表文章
Post.prototype.save=function(callback){
    //收集文章
    //打开数据库
    //插入到数据库的posts集合当中去
    //返回到首页,提示发布成功
    var date=new Date();
    var time={
        date:date,
        year:date.getFullYear(),
        month:date.getFullYear()+'-'+(date.getMonth()+1),
        day:date.getFullYear()+'-'+(date.getMonth()+1)+(date.getDate()),
        hour:date.getFullYear()+'-'+(date.getMonth()+1)+'- '+(date.getDate())+' '+(date.getHours()),
        minute:date.getFullYear()+'-'+(date.getMonth()+1)+'- '+(date.getDate())+' '+(date.getHours())+':'+(date.getMinutes())
    }
    var post={
        name:this.name,
        title:this.title,
        time:time,
        post:this.post,
        ip:this.ip
    }
    mongodb.open(function(err,db){
        if(err){
            return callback(err);
        }
        db.collection('posts',function(err,collection){
            if(err){
                mongodb.close();
                return callback(err);
            }
            collection.insert(post,{safe:true},function(err,post){
                mongodb.close();
                if(err){
                    return callback(err);
                }
                callback(null);//这里不返回任何结果,只是完成存储任务
            })
        })
    })
}
//查询文章
Post.get=function(name,callback){
    //打开数据库
    //查询posts集合
    //查询所有集合中的文章
    //返回给回调函数
    mongodb.open(function(err,db){
        if(err){
            return callback(err);
        }
        db.collection('posts',function(err,collection){
            if(err){
                mongodb.close();
                return callback(err);
            }
            //如果这里有查询条件的话,按条件进行筛选
            var query={};
            if(name){
                query.name=name;
            }
            collection.find(query).sort({time:-1}).toArray(function(err,docs){
                mongodb.close();
                if(err){
                    return callback(err);
                }
                callback(null,docs);
            })
        })
    })
}
module.exports=Post;